class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        if(head==nullptr)
        {
            return head;
        }
        ListNode* dump=new ListNode;
        dump->next=head;
        ListNode* prev=dump;
        while(prev!=nullptr&&prev->next!=nullptr){
            if(prev->next->val==val){
                prev->next=prev->next->next;
            }
            else
            {
                prev=prev->next;
            }
        }
        return dump->next;
    }
};